// package com.jxb.config;
//
// import org.springframework.beans.factory.annotation.Autowired;
//
// import com.alibaba.cloud.nacos.NacosDiscoveryProperties;
// import com.alibaba.cloud.nacos.ribbon.NacosServer;
// import com.alibaba.nacos.api.exception.NacosException;
// import com.alibaba.nacos.api.naming.NamingService;
// import com.alibaba.nacos.api.naming.pojo.Instance;
// import com.netflix.client.config.IClientConfig;
// import com.netflix.loadbalancer.AbstractLoadBalancerRule;
// import com.netflix.loadbalancer.DynamicServerListLoadBalancer;
// import com.netflix.loadbalancer.Server;
//
// /**
//  * 类注释
//  *
//  * @author jiaobo
//  * @date Created in 2024/10/5 21:48
//  **/
// public class NacosRandomWithWeightRule extends AbstractLoadBalancerRule {
//
//     @Autowired
//     private NacosDiscoveryProperties nacosDiscoveryProperties;
//
//     @Override
//     public void initWithNiwsConfig(IClientConfig iClientConfig) {
//
//     }
//
//     @Override
//     public Server choose(Object o) {
//         DynamicServerListLoadBalancer loadBalancer = (DynamicServerListLoadBalancer) getLoadBalancer();
//         String name = loadBalancer.getName();
//         NamingService namingService = nacosDiscoveryProperties.namingServiceInstance();
//         try {
//             //基于权重的算法
//             Instance instance = namingService.selectOneHealthyInstance(name);
//             return new NacosServer(instance);
//         } catch (NacosException e) {
//             e.printStackTrace();
//         }
//         return null;
//     }
// }
